package CommonApplicationLayer;

import java.util.Calendar;
import java.util.GregorianCalendar;

public class MetodoComun {
    
    private final static MetodoComun _instancia = new MetodoComun();
    
    private MetodoComun() {
    }

    public static MetodoComun getInstancia() {
        return _instancia;
    }
    
    /**
    * Obtiene la fecha actual del sistema.
    * @return  un <code>String</code> con la fecha actual.
    * @author Juan Manuel Abanto Mera
    */
    public String getFecha() {
        Calendar calendar = new GregorianCalendar();
        String dia, mes, anio;
        
        dia = Integer.toString(calendar.get(Calendar.DATE));
        mes = Integer.toString(calendar.get(Calendar.MONTH)+1);
        anio = Integer.toString(calendar.get(Calendar.YEAR));
        
        if (dia.length()==1) {
            dia = "0"+dia;
        }
        if ( mes.length() == 1 ) {
            mes = "0"+mes;
        }
        
        return dia+"/"+mes+"/"+anio;
    }
    
    /**
    * Obtiene la hora actual del sistema.
    * @return  un <code>String</code> con la hora actual.
    * @author Juan Manuel Abanto Mera
    */
    public String getHora() {
        Calendar calendar = new GregorianCalendar();
        String hora, minuto, segundo;
        
        hora = Integer.toString(calendar.get(Calendar.HOUR_OF_DAY));
        minuto = Integer.toString(calendar.get(Calendar.MINUTE));
        segundo = Integer.toString(calendar.get(Calendar.SECOND));
        
        if (hora.length()==1) {
            hora = "0"+hora;
        }
        if ( minuto.length() == 1 ) {
            minuto = "0"+minuto;
        }
        if ( segundo.length() == 1 ) {
            segundo = "0"+segundo;
        }
        return hora+":"+minuto+":"+segundo;
    }
    
    /**
    * Devuelve texto con los primeros caracteres en mayuscula.
    * @return  un <code>String</code> con el nombre propio del texto.
    * @author Juan Manuel Abanto Mera
    */
    public String getNomPropio(String text) {
        String[] palabras = text.split(" ");
        String palabra = "";
        
        for ( String t : palabras ) {
            palabra = palabra + " " + t.substring(0, 1).toUpperCase()+t.substring(1).toLowerCase();
        }
        return palabra.substring(1);
    }
    
}
